package org.opencms.free.balance.webservice;

import org.opencms.main.CmsEvent;
import org.opencms.main.CmsLog;
import org.opencms.main.I_CmsEventListener;
import org.opencms.main.OpenCms;

/**
 * Clase que implementa el servicio web.
 */
public class ServiceImplementation implements Service {

	/**
	 * Método que dado un usuario y una contraseña válidos actualiza la sesión
	 * de todos los servidores que forman parte del cluster.
	 */
	public boolean reloadCache(final String user, final String password) {
		CmsLog.INIT.info("Señal de actualización de la cache recibida: user = " + user
				+ ", password = " + password);
		boolean reloadedCache = false;
		if (validUser(user, password)) {
			OpenCms.fireCmsEvent(new CmsEvent(
					I_CmsEventListener.EVENT_CLEAR_CACHES, null));
			reloadedCache = true;
		} else {
			CmsLog.INIT.info("Usuario o contraseña inválidos: user = " + user
					+ ", password = " + password);
		}
		return reloadedCache;
	}

	/**
	 * Método que valida el usuario y la contraseña proporcionados para llevar a
	 * cabo la recarga de la cache.
	 */
	private boolean validUser(final String user, final String password) {
		// TODO: Implementar el chequeo del usuario y la contraseña
		return true;
	}
}